Ich möchte hier bei DjayBee anknüpfen, ging es doch ursprünglich mal um "Tastencodes von", also das was bei einer gedrückten Taste aus dem POKEY Register $D209 (KBCODE) auszulesen ist.
Ich denke, daß man die Arbeit schon irgendwie vierteln kann:
CONTROL setzt Bit 7
SHIFT setzt Bit 6
Daraus folgt, daß
alle Codes von 0-63 ohne SHIFT und ohne CONTROL sind
alle Codes von 64-127 mit SHIFT und ohne CONTROL sind
alle Codes von 128-191 ohne SHIFT und mit CONTROL sind
alle Codes von 192-255 mit SHIFT und mit CONTROL sind
Oder sehe ich da was falsch?
Darüber hinaus gilt, daß die jeweils gedrückte Taste (abgesehen von SHIFT und CONTROL) immer an der gleichen Stelle ist.
So erzeugt das Drücken der Taste "J" die Tastencodes bei 1, 65, 129 und zumindest theoretisch 193.
Was der Atari daraus macht steht in der 3 x 64 Byte großen Tastaturtabelle im Atari OS, DJayBee hat die ja schon angeführt.
Für Tastencodes > 191 gibt es keine Tabelle, deshalb macht der Atari mit diesen Tastencodes auch üblicherweise nichts. Vielleicht sind da ein paar bei, die er einzeln auswertet und verwendet, da müßte man halt das OS durchforsten.
Leider kann ich KBCODE mit meinem Debugger nicht wirklich auslesen, da bei fast allen gedrückten Tastenkombinationen mit SHIFT-CONTROL die Ausgabe angehalten wird.
Ich halte es aber durchaus für möglich, denn SHIFT-CONTROL-A ergibt eine 255.
Nun hat meine 130 XE Tastatur abgesehen von START, SELECT, OPTION, RESET, SHIFT und CONTROL aber nur 55 Tasten, wenn ich mich nicht verzählt habe.
Sprich es können gar keine 64 verschiedenen Tastaturcodes erzeugt werden. Und ich weiß gerade nicht, was der POKEY wirklich macht, wenn man keine Taste gedrückt hat. Laut Debugger bleibt der Wert der zuletzt gedrückten Taste in dem Register stehen.
Sprich um die Tabelle "Tastencode von" zu vervollständigen drückt man einmal jede Taste der Reihe nach, schreibt die Werte auf, das in eine zweispaltige Tabelle mit dem Wert zuerst, dann nach dem Wert sortieren (nicht vorhandene Werte beachten und wir haben die Reihenfolge für 0-191, oder?
Das funktioniert übrigens sogar mit einem kleinen Programm in BASIC:
10 PRINT PEEK(53769):GOTO 10
Da krieg ich dann sogar eine ganze Reihe Tastencodes über 192, also mit SHIFT-CONTROL, aber halt nicht überall. Warum nicht? Keine Ahnung. Vielleicht fehlen im POKEY ein paar Drähte 🙂
Aber SHIFT-CONTROL-H ergibt z.B. 249
Aber wie gesagt, man muß ja nur 55 Werte notieren und die anderen durch einodern von SHIFT und oder CONTROL errechnen.
Jede Info, die zu Hause auf meinem Rechner liegt habe ich unterwegs nicht verfügbar. Jede Info, die im Netz liegt finde ich nicht wieder, wenn ich sie benötige.